<?php


class TbfTime {
    static $passedMysqlTime = '2000-01-01 00:00:00';

    //把时间转换成年月日
    static function MysqlDateTimeToDate($s){
        return substr($s,0,10);
    }

    /**
     * unix时间格式转成mysql格式
     * @param uint32 $s
     * @return DateTime
     */
    static function UnixTimeToMysql($s){
        return date('Y-m-d H:i:s',$s);
    }

    /**
     * mysql格式当前时间
     * @return string
     */
    static function MysqlNow(){
        //测试可以mock时间
        if (TbfInput::isTestClient() && !empty($_SERVER['HTTP_X_MOCK_TIME'])){
            return $_SERVER['HTTP_X_MOCK_TIME'];
        }
        return date('Y-m-d H:i:s');
    }

    static function MysqlTimeIsZero($time){
        if (empty($time)){
            return true;
        }
        $d1 = DateTime::createFromFormat('Y-m-d H:i:s',$time);
        $d2 = DateTime::createFromFormat('Y-m-d H:i:s','01-01-03 00:00:00');
        return $d1<$d2;
    }

    /**
     * 使用mysql格式返回时间 a,在时间b之后
     * @param $a
     * @param $b
     * @return bool
     */
    static function MysqlAfter($a,$b){
        $d1 = DateTime::createFromFormat('Y-m-d H:i:s',$a);
        $d2 = DateTime::createFromFormat('Y-m-d H:i:s',$b);
        return $d1>$d2;
    }

    static function MysqlDateTimeMonth($time){
        return DateTime::createFromFormat('Y-m-d H:i:s',$time)->format('m');
    }
    static function MysqlDateTimeDay($time){
        return DateTime::createFromFormat('Y-m-d H:i:s',$time)->format('d');
    }
    //未使用
    /**
     * mysql格式转成datetime对象
     * @param string $s
     * @return DateTime
     */
    /*
    static function MysqlDateTimeToObj($s){
        return DateTime::createFromFormat('Y-m-d H:i:s',$s);
    }
    */
    /**
     * unix时间格式转成datetime对象
     * @param uint32 $s
     * @return DateTime
     */
    /*
    static function UnixTimeToObj($s){
        return DateTime::createFromFormat('U',$s);
    }
    */
}